home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / SWDOS12 / ONEDRIVE.ASM < prev    next >
Assembly Source File  |  1995-02-10  |  2KB  |  66 lines

  1. ;******************************************************************
  2. ;*                         ONEDRIVE.ASM                           *
  3. ;*          Source file for SoftWeyr enhanced DOS toolbox         *
  4. ;*                           version 1.2                          *
  5. ;*                 Copyright (c) by SoftWeyr,1995                 *
  6. ;******************************************************************
  7. MODEL TPASCAL
  8. LOCALS
  9. True EQU 1
  10. False EQU 0
  11. .DATA
  12.      EXTRN DosError :word
  13. .CODE
  14.   PUBLIC GetDriveLetter,SetDriveLetter,IsDriveMappable
  15. GetDriveLetter PROC FAR Drive:Byte
  16.         MOV BL,Drive
  17.         MOV AX,440EH
  18.         INT 21H
  19.         JC @@Error
  20.         cmp AL,0
  21.         JNZ @@1
  22.         MOV AL,Drive
  23.         CMP AL,0
  24.         JNZ @@1
  25.         MOV AH,19H
  26.         INT 21H
  27.         INC AL
  28. @@1:    ADD AL,64
  29.         SUB BX,BX
  30.         MOV DosError,BX
  31.         JMP SHORT @@Exit
  32. @@Error:MOV DOSError,AX
  33.         MOV AL,'@'
  34. @@Exit: RET
  35. endp
  36. IsDriveMappable PROC FAR Drive:Byte
  37.         MOV BL,Drive
  38.         MOV AX,440EH
  39.         INT 21H
  40.         JC @@Error
  41.         cmp AL,0
  42.         JZ @@1
  43.         MOV AL,True
  44. @@1:    SUB BX,BX
  45.         MOV DosError,BX
  46.         JMP SHORT @@Exit
  47. @@Error:MOV DOSError,AX
  48.         MOV AL,False
  49. @@Exit: RET
  50. endp
  51. SetDriveLetter PROC FAR Drive:Byte
  52.          MOV BL,Drive
  53.          cmp BL,'a'
  54.          JB @@1
  55.          SUB BL,'a'-'A'
  56. @@1:     SUB BL,64
  57.          MOV AX,440FH
  58.          INT 21H
  59.          JC @@Error
  60.          SUB AX,AX
  61. @@Error: MOV DosError,AX
  62.          RET
  63.       endp
  64. end
  65.  
  66.